home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / CADAR / Lengths / rhythm-ornament < prev    next >
Text File  |  1998-10-22  |  2KB  |  63 lines

  1. rhythm-ornament
  2. min max length-list &key 
  3. (type :all) (seed nil) (pcnt 100) (to-pcnt nil)
  4.  
  5. legal types :all :evens :odds
  6.  
  7. divides lengths randomly inside min and max.
  8. it does not always divide into even lengths so a 3-division
  9. can be: 1/4 -> 1/12 1/12 1/12 or 1/6 1/12 . . .
  10.  
  11. with type :evens selects only even numbers
  12. with type :odds (you guessed it) only odd numbers
  13. and with type :all (you guessed it again) both odd 
  14. and even numbers.
  15.  
  16.  
  17. seed which default to nil works like in all other random 
  18. functions and :pcnt -> percent lets you control 
  19. how many percent that will be divided.
  20. if you also use :to-pcnt 
  21. you can scale the percent-values and make nice morphing-like
  22. results where the rhythm gets more and more subdivided
  23. or less and less. 
  24.  
  25.  
  26.  
  27. (rhythm-ornament 3 5 '(1/2 1/4 1/2 1/8 1/8) :seed 0.1) 
  28. ->((1/5 1/5 1/10) (1/8 1/16 1/16) (3/10 1/5) (3/32 1/32) 
  29.    (1/32 1/32 1/32 1/32))
  30.  
  31. (rhythm-ornament 3 5 '(1/2 1/4 1/2 1/8 1/8) 
  32. :seed 0.1 :type :odds)
  33. ->((1/5 1/5 1/10) (1/10 1/20 1/10) (3/10 1/5) (1/10 1/40) 
  34. (1/20 1/40 1/40 1/40))
  35.  
  36. (rhythm-ornament 3 5 '(1/2 1/4 1/2 1/8 1/8) 
  37. :seed 0.1 :type :evens)
  38. ->((1/8 1/4 1/8) (1/8 1/16 1/16) (1/4 1/4) (3/32 1/32) 
  39. (1/32 1/32 1/32 1/32))
  40.  
  41.  
  42. (rhythm-ornament 3 5 '(1/2 1/4 1/2 1/8 1/8) 
  43. :seed 0.1 :type :all :pcnt 50)
  44. ->((1/5 1/5 1/10) (1/8 1/16 1/16) (1/2) (1/8) 
  45.   (1/32 1/32 1/32 1/32))
  46.  
  47. (rhythm-ornament 3 5 (gen-palindrome 
  48. '(1/2 1/4 1/2 1/8 1/8)) 
  49. :seed 0.1 :type :all :pcnt 100 :to-pcnt 0)
  50. ->((1/5 1/5 1/10) (1/8 1/16 1/16) (3/10 1/5) (1/8) 
  51. (1/32 1/32 1/32 1/32) (1/24 1/12) (1/2) (1/4) (1/8 1/4 1/8))
  52.  
  53. min and max can also be lists of integers so that you can vary
  54. the division.
  55.  
  56. (rhythm-ornament '(3 4 2) '(4 9) '(1/2 1/4 1/2 1/8 1/8)
  57. :seed 0.1)
  58. ->((1/8 1/4 1/8) (1/8 1/24 1/12) (1/4 1/4) (1/10 1/40) 
  59. (1/32 1/32 1/32 1/32))
  60.  
  61.  
  62.  
  63.